/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.examiner.entity;

import java.util.Date;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.common.persistence.DataEntity;
import com.thinkgem.jeesite.modules.sys.entity.Area;

/**
 * 审查人Entity
 * 
 * @author admin
 * @version 2016-08-01
 */
public class Examiner extends DataEntity<Examiner> {

	private static final long serialVersionUID = 1L;
	private Long loginId; // 登陆id
	private String name; // 名称
	private Long sex; // 性别
	private Long age; // 年龄
	private Long education; // 学历
	private String idNumber; // 身份证号
	private String mobilePhone; // 移动电话
	private String officePhone; // 办公电话
	private String familyPhone; // 家庭电话
	private String contactAddress; // 通讯地址
	private String bankNumber; // 工商银行开户行账号
	private String image; // 审查人照片
	private Integer recommendUnit; // 推荐单位
	private Area unitArea; // 单位所在地区
	private Long zipCode; // 邮政编码
	private String email; // 电子邮箱
	private Long checkStatus; // 审核状态
	private Long isFreeze; // 是否冻结（1是0否）
	private Integer examineTimes; // 本年度审查次数
	private Long positiveStatus; // 转正状态
	private Long isDelete; // 是否删除（1是0否）

	private String hasTask;//是否有审查任务 （1是0否）

	private Date registerDate; // 注册日期
	private Date maturityDate; // 到期日期

	private String examineNumber; // 审查证号

	private String industry; // 行业领域
	private String specialty; // 专业方向
	
	private String loginName;
	private String password;
	
	private Date freezeStartDate;		//冻结开始日期
	private Date freezeEndDate;		// 冻结结束日期
	private String reason;//冻结原因

	
	public Examiner() {
		super();
	}

	public Examiner(String id) {
		super(id);
	}

	public Long getLoginId() {
		return loginId;
	}

	public void setLoginId(Long loginId) {
		this.loginId = loginId;
	}

	@Length(min = 1, max = 30, message = "名称长度必须介于 1 和 30 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Length(min = 1, max = 18, message = "身份证号长度必须介于 1 和 18 之间")
	public String getIdNumber() {
		return idNumber;
	}

	public void setIdNumber(String idNumber) {
		this.idNumber = idNumber;
	}

	@Length(min = 1, max = 11, message = "移动电话长度必须介于 1 和 11 之间")
	public String getMobilePhone() {
		return mobilePhone;
	}

	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}

	@Length(min = 0, max = 11, message = "办公电话长度必须介于 0 和 11 之间")
	public String getOfficePhone() {
		return officePhone;
	}

	public void setOfficePhone(String officePhone) {
		this.officePhone = officePhone;
	}

	@Length(min = 0, max = 11, message = "家庭电话长度必须介于 0 和 11 之间")
	public String getFamilyPhone() {
		return familyPhone;
	}

	public void setFamilyPhone(String familyPhone) {
		this.familyPhone = familyPhone;
	}

	@Length(min = 1, max = 100, message = "通讯地址长度必须介于 1 和 100 之间")
	public String getContactAddress() {
		return contactAddress;
	}

	public void setContactAddress(String contactAddress) {
		this.contactAddress = contactAddress;
	}

	@Length(min = 1, max = 19, message = "工商银行开户行账号长度必须介于 1 和 19 之间")
	public String getBankNumber() {
		return bankNumber;
	}

	public void setBankNumber(String bankNumber) {
		this.bankNumber = bankNumber;
	}

	@Length(min = 1, max = 255, message = "审查人照片长度必须介于 1 和 255 之间")
	public String getImage() {
		return image;
	}

	public void setImage(String image) {
		this.image = image;
	}

	@Length(min = 1, max = 30, message = "电子邮箱长度必须介于 1 和 30 之间")
	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Long getSex() {
		return sex;
	}

	public void setSex(Long sex) {
		this.sex = sex;
	}

	public Long getAge() {
		return age;
	}

	public void setAge(Long age) {
		this.age = age;
	}

	public Long getCheckStatus() {
		return checkStatus;
	}

	public void setCheckStatus(Long checkStatus) {
		this.checkStatus = checkStatus;
	}

	public Long getIsFreeze() {
		return isFreeze;
	}

	public void setIsFreeze(Long isFreeze) {
		this.isFreeze = isFreeze;
	}

	public Integer getExamineTimes() {
		return examineTimes;
	}

	public void setExamineTimes(Integer examineTimes) {
		this.examineTimes = examineTimes;
	}

	public Long getPositiveStatus() {
		return positiveStatus;
	}

	public void setPositiveStatus(Long positiveStatus) {
		this.positiveStatus = positiveStatus;
	}

	public Long getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Long isDelete) {
		this.isDelete = isDelete;
	}

	public Long getEducation() {
		return education;
	}

	public void setEducation(Long education) {
		this.education = education;
	}

	public Integer getRecommendUnit() {
		return recommendUnit;
	}

	public void setRecommendUnit(Integer recommendUnit) {
		this.recommendUnit = recommendUnit;
	}

	public Area getUnitArea() {
		return unitArea;
	}

	public void setUnitArea(Area unitArea) {
		this.unitArea = unitArea;
	}

	public Long getZipCode() {
		return zipCode;
	}

	public void setZipCode(Long zipCode) {
		this.zipCode = zipCode;
	}

	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getRegisterDate() {
		return registerDate;
	}

	public void setRegisterDate(Date registerDate) {
		this.registerDate = registerDate;
	}

	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getMaturityDate() {
		return maturityDate;
	}

	public void setMaturityDate(Date maturityDate) {
		this.maturityDate = maturityDate;
	}

	public String getExamineNumber() {
		return examineNumber;
	}

	public void setExamineNumber(String examineNumber) {
		this.examineNumber = examineNumber;
	}

	public String getIndustry() {
		return industry;
	}

	public void setIndustry(String industry) {
		this.industry = industry;
	}

	public String getSpecialty() {
		return specialty;
	}

	public void setSpecialty(String specialty) {
		this.specialty = specialty;
	}

	public String getLoginName() {
		return loginName;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Date getFreezeStartDate() {
		return freezeStartDate;
	}

	public void setFreezeStartDate(Date freezeStartDate) {
		this.freezeStartDate = freezeStartDate;
	}

	public Date getFreezeEndDate() {
		return freezeEndDate;
	}

	public void setFreezeEndDate(Date freezeEndDate) {
		this.freezeEndDate = freezeEndDate;
	}

	public String getReason() {
		return reason;
	}

	public void setReason(String reason) {
		this.reason = reason;
	}

	public String getHasTask() {
		return hasTask;
	}

	public void setHasTask(String hasTask) {
		this.hasTask = hasTask;
	}
}